{
    "usb": {
        "pid": "0x0107",
        "device_version": "2.0.0"
    },
    "features": {
        "encoder": true
    },
    "encoder": {
        "enabled": true,
        "rotary": [
            {"pin_a": "A10", "pin_b": "A8", "resolution": 4}
        ]
    },
    "layouts": {
        "LAYOUT_ansi_82": {
            "layout": [
                {"matrix":[0,0], "x":0, "y":0},
                {"matrix":[0,1], "x":1.25, "y":0},
                {"matrix":[0,2], "x":2.25, "y":0},
                {"matrix":[0,3], "x":3.25, "y":0},
                {"matrix":[0,4], "x":4.25, "y":0},
                {"matrix":[0,5], "x":5.5, "y":0},
                {"matrix":[0,6], "x":6.5, "y":0},
                {"matrix":[0,7], "x":7.5, "y":0},
                {"matrix":[0,8], "x":8.5, "y":0},
                {"matrix":[0,9], "x":9.75, "y":0},
                {"matrix":[0,10], "x":10.75, "y":0},
                {"matrix":[0,11], "x":11.75, "y":0},
                {"matrix":[0,12], "x":12.75, "y":0},
                {"matrix":[0,13], "x":14, "y":0},
                {"matrix":[0,15], "x":15.25, "y":0},

                {"matrix":[1,0], "x":0, "y":1.25},
                {"matrix":[1,1], "x":1, "y":1.25},
                {"matrix":[1,2], "x":2, "y":1.25},
                {"matrix":[1,3], "x":3, "y":1.25},
                {"matrix":[1,4], "x":4, "y":1.25},
                {"matrix":[1,5], "x":5, "y":1.25},
                {"matrix":[1,6], "x":6, "y":1.25},
                {"matrix":[1,7], "x":7, "y":1.25},
                {"matrix":[1,8], "x":8, "y":1.25},
                {"matrix":[1,9], "x":9, "y":1.25},
                {"matrix":[1,10], "x":10, "y":1.25},
                {"matrix":[1,11], "x":11, "y":1.25},
                {"matrix":[1,12], "x":12, "y":1.25},
                {"matrix":[1,13], "x":13, "y":1.25, "w":2},
                {"matrix":[1,15], "x":15.25, "y":1.25},

                {"matrix":[2,0], "x":0, "y":2.25, "w":1.5},
                {"matrix":[2,1], "x":1.5, "y":2.25},
                {"matrix":[2,2], "x":2.5, "y":2.25},
                {"matrix":[2,3], "x":3.5, "y":2.25},
                {"matrix":[2,4], "x":4.5, "y":2.25},
                {"matrix":[2,5], "x":5.5, "y":2.25},
                {"matrix":[2,6], "x":6.5, "y":2.25},
                {"matrix":[2,7], "x":7.5, "y":2.25},
                {"matrix":[2,8], "x":8.5, "y":2.25},
                {"matrix":[2,9], "x":9.5, "y":2.25},
                {"matrix":[2,10], "x":10.5, "y":2.25},
                {"matrix":[2,11], "x":11.5, "y":2.25},
                {"matrix":[2,12], "x":12.5, "y":2.25},
                {"matrix":[2,13], "x":13.5, "y":2.25, "w":1.5},
                {"matrix":[2,15], "x":15.25, "y":2.25},

                {"matrix":[3,0], "x":0, "y":3.25, "w":1.75},
                {"matrix":[3,1], "x":1.75, "y":3.25},
                {"matrix":[3,2], "x":2.75, "y":3.25},
                {"matrix":[3,3], "x":3.75, "y":3.25},
                {"matrix":[3,4], "x":4.75, "y":3.25},
                {"matrix":[3,5], "x":5.75, "y":3.25},
                {"matrix":[3,6], "x":6.75, "y":3.25},
                {"matrix":[3,7], "x":7.75, "y":3.25},
                {"matrix":[3,8], "x":8.75, "y":3.25},
                {"matrix":[3,9], "x":9.75, "y":3.25},
                {"matrix":[3,10], "x":10.75, "y":3.25},
                {"matrix":[3,11], "x":11.75, "y":3.25},
                {"matrix":[3,13], "x":12.75, "y":3.25, "w":2.25},
                {"matrix":[3,15], "x":15.25, "y":3.25},

                {"matrix":[4,0], "x":0, "y":4.25, "w":2.25},
                {"matrix":[4,2], "x":2.25, "y":4.25},
                {"matrix":[4,3], "x":3.25, "y":4.25},
                {"matrix":[4,4], "x":4.25, "y":4.25},
                {"matrix":[4,5], "x":5.25, "y":4.25},
                {"matrix":[4,6], "x":6.25, "y":4.25},
                {"matrix":[4,7], "x":7.25, "y":4.25},
                {"matrix":[4,8], "x":8.25, "y":4.25},
                {"matrix":[4,9], "x":9.25, "y":4.25},
                {"matrix":[4,10], "x":10.25, "y":4.25},
                {"matrix":[4,11], "x":11.25, "y":4.25},
                {"matrix":[4,13], "x":12.25, "y":4.25, "w":1.75},
                {"matrix":[4,14], "x":14.25, "y":4.5},

                {"matrix":[5,0], "x":0, "y":5.25, "w":1.25},
                {"matrix":[5,1], "x":1.25, "y":5.25, "w":1.25},
                {"matrix":[5,2], "x":2.5, "y":5.25, "w":1.25},
                {"matrix":[5,6], "x":3.75, "y":5.25, "w":6.25},
                {"matrix":[5,10], "x":10, "y":5.25},
                {"matrix":[5,11], "x":11, "y":5.25},
                {"matrix":[5,12], "x":12, "y":5.25},
                {"matrix":[5,13], "x":13.25, "y":5.5},
                {"matrix":[5,14], "x":14.25, "y":5.5},
                {"matrix":[5,15], "x":15.25, "y":5.5}
            ]
        }
    },
    "rgb_matrix": {
        "layout": [
            {"matrix":[0, 0],  "flags":1, "x":0,   "y":0},
            {"matrix":[0, 1],  "flags":1, "x":18,  "y":0},
            {"matrix":[0, 2],  "flags":1, "x":33,  "y":0},
            {"matrix":[0, 3],  "flags":1, "x":48,  "y":0},
            {"matrix":[0, 4],  "flags":1, "x":62,  "y":0},
            {"matrix":[0, 5],  "flags":1, "x":81,  "y":0},
            {"matrix":[0, 6],  "flags":1, "x":95,  "y":0},
            {"matrix":[0, 7],  "flags":1, "x":110, "y":0},
            {"matrix":[0, 8],  "flags":1, "x":125, "y":0},
            {"matrix":[0, 9],  "flags":1, "x":143, "y":0},
            {"matrix":[0, 10], "flags":1, "x":158, "y":0},
            {"matrix":[0, 11], "flags":1, "x":173, "y":0},
            {"matrix":[0, 12], "flags":1, "x":187, "y":0},
            {"matrix":[0, 13], "flags":1, "x":206, "y":0},
            {"matrix":[0, 15], "flags":1, "x":224, "y":0},

            {"matrix":[1, 0],  "flags":1, "x":0,   "y":15},
            {"matrix":[1, 1],  "flags":4, "x":15,  "y":15},
            {"matrix":[1, 2],  "flags":4, "x":29,  "y":15},
            {"matrix":[1, 3],  "flags":4, "x":44,  "y":15},
            {"matrix":[1, 4],  "flags":4, "x":59,  "y":15},
            {"matrix":[1, 5],  "flags":4, "x":73,  "y":15},
            {"matrix":[1, 6],  "flags":4, "x":88,  "y":15},
            {"matrix":[1, 7],  "flags":4, "x":103, "y":15},
            {"matrix":[1, 8],  "flags":4, "x":118, "y":15},
            {"matrix":[1, 9],  "flags":4, "x":132, "y":15},
            {"matrix":[1, 10], "flags":4, "x":147, "y":15},
            {"matrix":[1, 11], "flags":4, "x":162, "y":15},
            {"matrix":[1, 12], "flags":4, "x":176, "y":15},
            {"matrix":[1, 13], "flags":1, "x":198, "y":15},
            {"matrix":[1, 15], "flags":1, "x":224, "y":15},

            {"matrix":[2, 0],  "flags":1, "x":4,   "y":26},
            {"matrix":[2, 1],  "flags":4, "x":22,  "y":26},
            {"matrix":[2, 2],  "flags":4, "x":37,  "y":26},
            {"matrix":[2, 3],  "flags":4, "x":51,  "y":26},
            {"matrix":[2, 4],  "flags":4, "x":66,  "y":26},
            {"matrix":[2, 5],  "flags":4, "x":81,  "y":26},
            {"matrix":[2, 6],  "flags":4, "x":95,  "y":26},
            {"matrix":[2, 7],  "flags":4, "x":110, "y":26},
            {"matrix":[2, 8],  "flags":4, "x":125, "y":26},
            {"matrix":[2, 9],  "flags":4, "x":140, "y":26},
            {"matrix":[2, 10], "flags":4, "x":154, "y":26},
            {"matrix":[2, 11], "flags":4, "x":169, "y":26},
            {"matrix":[2, 12], "flags":4, "x":184, "y":26},
            {"matrix":[2, 13], "flags":4, "x":202, "y":26},
            {"matrix":[2, 15], "flags":1, "x":224, "y":26},

            {"matrix":[3, 0],  "flags":9, "x":6,   "y":38},
            {"matrix":[3, 1],  "flags":4, "x":26,  "y":38},
            {"matrix":[3, 2],  "flags":4, "x":40,  "y":38},
            {"matrix":[3, 3],  "flags":4, "x":55,  "y":38},
            {"matrix":[3, 4],  "flags":4, "x":70,  "y":38},
            {"matrix":[3, 5],  "flags":4, "x":84,  "y":38},
            {"matrix":[3, 6],  "flags":4, "x":99,  "y":38},
            {"matrix":[3, 7],  "flags":4, "x":114, "y":38},
            {"matrix":[3, 8],  "flags":4, "x":129, "y":38},
            {"matrix":[3, 9],  "flags":4, "x":143, "y":38},
            {"matrix":[3, 10], "flags":4, "x":158, "y":38},
            {"matrix":[3, 11], "flags":4, "x":173, "y":38},
            {"matrix":[3, 13], "flags":1, "x":196, "y":38},
            {"matrix":[3, 15], "flags":1, "x":224, "y":38},

            {"matrix":[4, 0],  "flags":1, "x":9,   "y":49},
            {"matrix":[4, 2],  "flags":4, "x":33,  "y":49},
            {"matrix":[4, 3],  "flags":4, "x":48,  "y":49},
            {"matrix":[4, 4],  "flags":4, "x":62,  "y":49},
            {"matrix":[4, 5],  "flags":4, "x":77,  "y":49},
            {"matrix":[4, 6],  "flags":4, "x":92,  "y":49},
            {"matrix":[4, 7],  "flags":4, "x":106, "y":49},
            {"matrix":[4, 8],  "flags":4, "x":121, "y":49},
            {"matrix":[4, 9],  "flags":4, "x":136, "y":49},
            {"matrix":[4, 10], "flags":4, "x":151, "y":49},
            {"matrix":[4, 11], "flags":4, "x":165, "y":49},
            {"matrix":[4, 13], "flags":1, "x":185, "y":49},
            {"matrix":[4, 14], "flags":1, "x":209, "y":52},

            {"matrix":[5, 0],  "flags":1, "x":2,   "y":61},
            {"matrix":[5, 1],  "flags":1, "x":20,  "y":61},
            {"matrix":[5, 2],  "flags":1, "x":39,  "y":61},
            {"matrix":[5, 6],  "flags":4, "x":94,  "y":61},
            {"matrix":[5, 10], "flags":1, "x":147, "y":61},
            {"matrix":[5, 11], "flags":1, "x":162, "y":61},
            {"matrix":[5, 12], "flags":1, "x":176, "y":61},
            {"matrix":[5, 13], "flags":1, "x":195, "y":64},
            {"matrix":[5, 14], "flags":1, "x":209, "y":64},
            {"matrix":[5, 15], "flags":1, "x":224, "y":64}
        ]
    }
}
